/*
* 图片处理完成预览页面交互
* */
import Wechat from "../../utils/wechat";
import utils from "../../utils/util";
import Toast from "../../utils/toast";
import FileUtil from "../../utils/fileUtil";

Page({

	/**
	 * 页面的初始数据
	 */
	data: {
	},

	/**
	 * 保存照片操作，保存的照片就是跳转到该页面带过来的 source,已经放在 data里面了
	 */
	saveToPhone: function (){
		// 打开loading遮罩
		Toast.beginLoadingToast('下载中',true);

		// 先将base64的图片缓存到本地
		FileUtil.writeFile(
			FileUtil.generateRandomUserDir()+FileUtil.generateRandomFileName('png'),
			this.data.showImgPath,
			'base64')
		.then(file=>{
			// 缓存完成后再保存到手机
			Wechat.saveImgToPhotoAlbum(file.filePath).then(res=>{
				// 先关闭加载中弹窗
				Toast.closeLoadingToast();
				// 保存成功
				utils.openSuccessToast('保存成功');
			}).catch(error=>{
				// 先关闭加载中弹窗
				Toast.closeLoadingToast();
				utils.openErrorToast('保存失败!');
			}).finally(() =>{
				// 删除缓存的文件
				FileUtil.deleteDir(file.filePath);
				// 不管是保存成功还是用户停止保存，关闭loading遮罩
				Toast.closeLoadingToast();
			});
		}).catch(error =>{
			utils.openErrorToast('缓存失败!');
		});
	},
	/**
	 * 生命周期函数--监听页面加载
	 */
	onLoad: function (options) {
		// 关闭上一个弹窗
		Toast.closeLoadingToast();
		Toast.beginLoadingToast('正在渲染',true);
		/* 上个页面跳转到这个页面，把url中携带的数据传到了options参数中 */
		this.setData({
			// 注意此处图片是base64编码字符串
			showImgPath: options.source,
			showTitle: options.original
		});
		// 关闭加载中弹窗
		Toast.closeLoadingToast();
	},

	/**
	 * 生命周期函数--监听页面初次渲染完成
	 */
	onReady: function () {

	},

	/**
	 * 生命周期函数--监听页面显示
	 */
	onShow: function () {

	},

	/**
	 * 生命周期函数--监听页面隐藏
	 */
	onHide: function () {

	},

	/**
	 * 生命周期函数--监听页面卸载
	 */
	onUnload: function () {

	},

	/**
	 * 页面相关事件处理函数--监听用户下拉动作
	 */
	onPullDownRefresh: function () {

	},

	/**
	 * 页面上拉触底事件的处理函数
	 */
	onReachBottom: function () {

	},

	/**
	 * 用户点击右上角分享
	 */
	onShareAppMessage: function () {

	}
})
